SQL中的「规则」 constraint 与「约束」 rule 的区别。 | 您所在的位置:网站首页 › assimilation rules举例说明 › SQL中的「规则」 constraint 与「约束」 rule 的区别。 |
前言,学校时学习的东西,好久都没有用到了。 今天看到了rule,第一眼还以为是约束了。 -------------------------------------------------------------- 举例,说明「约束」:constraint 我们在定义一个表的时候,可以定义下面几种约束 1.主键约束 2.外键约束 3.唯一性约束 4.非空约束 5.检查约束 check: 例:check(columnName > 18) ====================================== 举例,说明「规则」(在Sql Server2000中) rule 为目标数据库管理系统设计业务规则: 4.2.1 规则: rule[Sex] create rule [Sex] as @ in ('男','女') rule[TypeHaveChild] create rule [TypeHaveChild] as @ in ('y','n') rule[IsSpecial] create rule [IsSpecial] as @ in ('y','n') rule[OrderIsConfirm] create rule [OrderIsConfirm] as @ in ('y','n') rule[Actor] create rule [Actor] as @ in('超级管理员','用户管理员','论坛管理员','服装 管理员','订单管理员','公告管理员') rule[OrderSendStatus] create rule [OrderSendStatus
实例(应用到表中): CREATE RULE id_chk AS @id BETWEEN 0 and 10000 CREATE TABLE cust_sample ( cust_id int PRIMARY KEY, cust_name char(50), cust_address char(50), cust_credit_limit money, ) sp_bindrule id_chk, 'cust_sample.cust_id '
=========================================== 区别总结: 规则可以邦定到多列 、check只能邦定一个表 用规则可以优化你的设计
但是我觉得,一般情况下,我们完全可以使用约束中的检查check。
|
CopyRight 2018-2019 实验室设备网 版权所有 |